﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CHATCENTRAL.ENTITIES;
using CHATCENTRAL.Interfaces.Mappers;
using CHATCENTRAL.Interfaces.Entities;

namespace CHATCENTRAL.MAPPERS
{
    class TemaMapper : ITemaMapper
    {
        private static TemaMapper inst;

        private List<ITema> lstTemas;

        public static TemaMapper GetInstance()
        {

                if (inst == null)
                    inst = new TemaMapper();


            return inst;
        }

        private TemaMapper()
        {
            lstTemas = new List<ITema>();
        }

        public void AddTema(ITema tema)
        {
            if (tema == null)
                throw new NullReferenceException();

            if (lstTemas.Contains(tema))
                throw new Exception("Este Tema já existe");

            lstTemas.Add(tema);
        }

        public IEnumerable<ITema> GetAllTemas()
        {
            return lstTemas;
        }

        public ITema GetTema(string subject)
        {
            return lstTemas.SingleOrDefault(d => d.subject == subject);
        }
    }
}
